/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

var registroConcepto=null;
var winMantenerConcepto=null;

function gestionarConcepto(){
        var chkEstadoConcepto = new Ext.grid.CheckColumn({
        header: "Activo",
        dataIndex: 'bconcActivo',
        width: 55
    });
     chkEstadoConcepto.onMouseDown=function(e,t){};

var dsConcepto=new Ext.data.Store({
        autoDestroy: true,
        url: "lista-concepto",
        reader: new Ext.data.JsonReader(
        {
            root: "concepto",
            fields:
            [
            {
                name: "nconcIdentificador",
                type: "integer"
            },
            {
                name: "cconcDescripcion",
                type: "string"
            },
            {
                name: "bconcActivo",
                type: "boolean"
            }
            ]
        })
    });
    dsConcepto.on("exception",function(proxy, type, action, options, response, arg){
        Ext.MessageBox.alert("Error","Sucedio un error al cargar los perfiles"+response.responseText);
    });

    var grdConcepto=new Ext.grid.GridPanel({
        title: "Administrar Concepto",
        store: dsConcepto,
        loadMask: false,
        height:470,
        width:1050,
        border:true,
        frame: true,
        plugins:[new Ext.ux.grid.Search({
            mode:'local',
            iconCls:false,
            minLength:2,
            width: 190
        })],
        columns:
        [new Ext.grid.RowNumberer(),
        {
            header: "Descripción Concepto",
            dataIndex: "cconcDescripcion",
            width: 200,
            sortable:true
        },chkEstadoConcepto],
        tbar:[{
            text:'Agregar',
            iconCls:'icon-add',
            handler: function(){
                mantenerConcepto(true);
            }
        }, '-', {
            text:'Modificar',
            iconCls:'icon-modify',
            handler: function(){
                mantenerConcepto(false);
            }
        }]

    });
    grdConcepto.on("beforerender",function(component){
        var div=document.getElementById("divContenido");
        var elemento=div.childNodes[0];
        if(elemento != null) div.removeChild(elemento);
    });
    var seleccionPerfil=grdConcepto.getSelectionModel();
    seleccionPerfil.on("rowselect",function(sm,fila,registro){
        registroConcepto=registro;
    });
    grdConcepto.render("divContenido");
    dsConcepto.load();
}

function mantenerConcepto(nuevo){
        var frmGestionarConcepto =new Ext.Panel({
            bodyBorder:true,
            height:400,
            bodyStyle: "background-color:#DFE8F6; border:0"
        });
        new Ajax.Request("frmGestionarConcepto.html",{
            method: "post",
            asynchronous:false,
            onSuccess: function(transport){
                frmGestionarConcepto.html=transport.responseText;
                winMantenerConcepto = new Ext.Window({
                    title: (nuevo ? 'Agregar ' : 'Modificar ') + 'Concepto',
                    closeAction:'destroy',
                    width:410,
                    height:220,
                    x: 500,
                    y:200,
                    items:[frmGestionarConcepto],
                    shim:false,
                    modal:true,
                    maximizable:true,
                    minimizable:false,
                    animCollapse:false,
                    resizable:false,
                    constrainHeader:true,
                    bbar:[{
                            text:'Grabar',
                            iconCls:'icon-save',
                            handler: function(){
                                if (nuevo)
                                    insertarConcepto();
                                else
                                    actualizarConcepto();
                            }
                        }, '-', {
                            text:'Cancelar',
                            iconCls:'icon-cancel',
                            handler: function(){
                                winMantenerConcepto.destroy();
                            }
                        }]
                });
                winMantenerConcepto.show();
                winMantenerConcepto.focus();
                if (!nuevo){
                    $("frmgestionarconcepto").nconcIdentificador.value = registroConcepto.data.nconcIdentificador;
                    $("frmgestionarconcepto").cconcDescripcion.value = registroConcepto.data.cconcDescripcion;
                   
                    if (registroConcepto.data.bconcActivo){
                        $("bconcActivo").checked=true;
                    }else{
                        $("bconcActivo").checked=false;
                    }
                }
            },
            onFailure:function(t){
                Information("Aviso del Sistema","Sucedio un error al intentar cargar el formulario"+t.responseText);
            }
        });

}
    function insertarConcepto(){
        new Ajax.Request("concepto!agregar",{
            method:"post",
            parameters: $("frmgestionarconcepto").serialize(),
            onSuccess: function(transport){
                var operacion =transport.responseText.evalJSON();
                if (operacion.success){
                    Information("Aviso del Sistema",operacion.mensaje);
                }else{
                    Information("Aviso del Sistema",operacion.mensaje);
                }
                winMantenerConcepto.destroy();
                gestionarConcepto();
            },
            onFailure:function(transport){
                Information("Aviso del Sistema","Sucedio un error al intentar cargar el formulario"+transport.responseText);
            }
        });
    }
    
    function actualizarConcepto()
    {
          new Ajax.Request("concepto!modificar",{
            method:"post",
            parameters: $("frmgestionarconcepto").serialize(),
            onSuccess: function(transport){
                var operacion =transport.responseText.evalJSON();
                if (operacion.success){
                    Information("Aviso del Sistema",operacion.mensaje);
                }else{
                    Information("Aviso del Sistema",operacion.mensaje);
                }
                winMantenerConcepto.destroy();
                gestionarConcepto();
            },
            onFailure:function(transport){
                Information("Aviso del Sistema","Sucedio un error al intentar cargar el formulario"+transport.responseText);
            }
        });
    }